SlideShare a Scribd company logo
1 of 33
Download to read offline
U S I N G W O R D P R E S S A S A N
APPLICATION PLATFORM
@danpastori
521dimensions.com
#wcmke
I live in
MILWAUKEE
521 Dimensions
Live in downtown Milwaukee
Co-Founder of 521 Dimensions
Coffee by day, beer by night
What defines an app?
Lead into “Let’s go back in time”
We’re in a time machine
Trained Professional
User (Data Consumer)
Data/Content
Data/Content
1994
(Static Sites)
Basic Websites
- Maintained by trained individuals
- Static content
- Very little user interaction
- Users consume data
Data/Content
Trained Professionals
and authors
Readers/Commenters
Data/Content
2004
(Web 2.0)
Blogs/Dynamic Sites
- Maintained by a group of trained individuals
- Content is more up-to-date/live
- Users mainly consume data but can provide data in comments and social interaction
2004
to
2014
(ecommerce)
Ecommerce
- Have to begin accounting for user mistakes
- User interaction increased, more forms, shopping cart etc
2004
to
2014
(App Frameworks)
Application Platforms
- Prevents developers from repeating tasks
- Accounts for common app entities and processes
- Provides some security
What defines an app?
Developers/Admins
Users
Not creating data
My Web
App
User contributed
data (majority)
Apps
- Roles switch from trained admins to un-trained users
- Have to account for no one understanding your app
- Large emphasis on security
- Dynamic screen data
Developers/Admins
PERMISSIONS
My Web
App
Apps
- Users are not just site managers
- Privacy policies
- Permission levels
Developers/Admins
DATA SHARING
My Web
App
Apps
- Large amounts of data
- Have to define who sees what and who has permissions to perform what functions.
I don’t have to worry about creating data!?
THIS IS GOING TO BE EASY!
WRONG!
- You may not have to create data, but you have to account for bad data
- Deal with large quantities of data, speed of display, and unknowns
- Users WILL enter bad data, have to cleanse
Demo
-Show Musi(q)
-Explain what makes it an app
-State of the Word explained that WP can be used to build apps.
We can be an app
platform!
- State of the Word showed an example of an application written on Wordpress.
- Totally possible, just have to think differently about Wordpress’ features.
Plugins vs app
Plugins: 
-Solve small problems, remain inside the core functionality and use case of Wordpress.
!
Apps: 
-Stray away from Wordpress core use cases
-Uses Wordpress in a more modular fashion
-Opens up normally administrative functions to general users
Can Wordpress run
applications now?
YOU BETCHA!
-This is Musi(q)’s database, Musi(q) is build off of Wordpress
What do I need to know to
develop wordpress APPs?
- Strong understanding of PHP, JS, CSS and how they work together
- Strong understanding of WP Dev
- Attention to detail
- Understanding of how applications are created and function.
When not to use
wordpress for apps
Complex permissions
- You can extend and create roles and permissions within WP, but complex scenarios and groups become a
burden.
large, large amounts
of data
- You can create your own tables within the Wordpress install, but there comes a point where you have to scale,
or use a non-relational database.
Features that make Wordpress
AWESOME for Apps
MULTISITE
-Manage API, Marketing Site, App all in one place
-Plugins make it modular. You can separate functionality across sites.
Custom post
Types
- Custom post types allow the developer essentially extend an object to make an app. 
- WPDB object works with custom post types already
- Very customizable and easy to filter and work with the default template system.
Custom
taxonomies
-Allows for easy searching/sorting
-Works with Custom Post Types
-Works with Template system
-Allows you to run simple filters without much SQL knowledge
Extend and
create users
-Ability to make custom users and permission hierarchy
-add_role( $role, $display_name, $capabilities );
-Can block Wordpress admin per user, they won’t even know it’s built on Wordpress
Awesome
templating system
- Templates/Themes and Plugins work together almost in a MVC type theory
- When using custom post types to handle app objects, and with the Wordpress defined templates/themes,
you can almost think your app has an ORM
Creating apis
- Apps have other sources of data creation (plugins, iOS/Android apps, etc.)
- Create a sub-site and activate your API handler plugin.
- Can create an API theme that shows instructions if not making API calls.
- On init, check for key, if key then handle by API plugin and export JSON.
- DANGER: Lots of authentication checks need to take place.
Demo
Q&A@danpastori
#wcmke
http://musiq.io

More Related Content

What's hot

Phil_Pearl_Resume
Phil_Pearl_ResumePhil_Pearl_Resume
Phil_Pearl_Resume
Phil Pearl
 
Ajax -a_new_approach_to_web_applications
Ajax  -a_new_approach_to_web_applicationsAjax  -a_new_approach_to_web_applications
Ajax -a_new_approach_to_web_applications
luongthuha
 
AJAY TIWARI Final
AJAY TIWARI FinalAJAY TIWARI Final
AJAY TIWARI Final
Ajay Tiwari
 
Silverlight as a desktop application
Silverlight as a desktop applicationSilverlight as a desktop application
Silverlight as a desktop application
msarangam
 

What's hot (20)

The Internet Explained To Your Mum In 5 Slides
The Internet Explained To Your Mum In 5 SlidesThe Internet Explained To Your Mum In 5 Slides
The Internet Explained To Your Mum In 5 Slides
 
Omniauth
OmniauthOmniauth
Omniauth
 
Introduction to HTML5 and CSS3
Introduction to HTML5 and CSS3Introduction to HTML5 and CSS3
Introduction to HTML5 and CSS3
 
6 types of web application development
6 types of web application development6 types of web application development
6 types of web application development
 
Difference between-web-designing-and-web-development
Difference between-web-designing-and-web-developmentDifference between-web-designing-and-web-development
Difference between-web-designing-and-web-development
 
Top web development tools
Top web development toolsTop web development tools
Top web development tools
 
Jws masterclass progressive web apps
Jws masterclass progressive web appsJws masterclass progressive web apps
Jws masterclass progressive web apps
 
Web Site Design Principles
Web Site Design PrinciplesWeb Site Design Principles
Web Site Design Principles
 
Shubhanshu_Kumar_Gupta
Shubhanshu_Kumar_GuptaShubhanshu_Kumar_Gupta
Shubhanshu_Kumar_Gupta
 
Web application architecture
Web application architectureWeb application architecture
Web application architecture
 
Phil_Pearl_Resume
Phil_Pearl_ResumePhil_Pearl_Resume
Phil_Pearl_Resume
 
Mohamed hamdeen
Mohamed hamdeenMohamed hamdeen
Mohamed hamdeen
 
Ajax -a_new_approach_to_web_applications
Ajax  -a_new_approach_to_web_applicationsAjax  -a_new_approach_to_web_applications
Ajax -a_new_approach_to_web_applications
 
AJAY TIWARI Final
AJAY TIWARI FinalAJAY TIWARI Final
AJAY TIWARI Final
 
Forms standards
Forms standardsForms standards
Forms standards
 
WordpressDeveloper.docx
WordpressDeveloper.docxWordpressDeveloper.docx
WordpressDeveloper.docx
 
Ba Branches Forum Liverpool
Ba Branches Forum LiverpoolBa Branches Forum Liverpool
Ba Branches Forum Liverpool
 
Silverlight as a desktop application
Silverlight as a desktop applicationSilverlight as a desktop application
Silverlight as a desktop application
 
Web Designing
Web Designing Web Designing
Web Designing
 
Modern Web Applications
Modern Web ApplicationsModern Web Applications
Modern Web Applications
 

Similar to Using Wordpress As An Application Platform -- #WCMKE 2014

Creating Mobile Aps without Coding
Creating Mobile Aps without CodingCreating Mobile Aps without Coding
Creating Mobile Aps without Coding
Jack Molisani
 
Sushree_Saumya
Sushree_SaumyaSushree_Saumya
Sushree_Saumya
saumya das
 

Similar to Using Wordpress As An Application Platform -- #WCMKE 2014 (20)

Mobilizing your Drupal Site - Vancouver League of Drupallers
Mobilizing your Drupal Site - Vancouver League of DrupallersMobilizing your Drupal Site - Vancouver League of Drupallers
Mobilizing your Drupal Site - Vancouver League of Drupallers
 
Wordpress development 101
Wordpress development 101Wordpress development 101
Wordpress development 101
 
PWA
PWAPWA
PWA
 
Ashish_Barnabas_Resume
Ashish_Barnabas_ResumeAshish_Barnabas_Resume
Ashish_Barnabas_Resume
 
SharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning ModelsSharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning Models
 
An introduction to Salesforce
An introduction to SalesforceAn introduction to Salesforce
An introduction to Salesforce
 
EdTechJoker Spring 2020 - Lecture 7 Drupal intro
EdTechJoker Spring 2020 - Lecture 7 Drupal introEdTechJoker Spring 2020 - Lecture 7 Drupal intro
EdTechJoker Spring 2020 - Lecture 7 Drupal intro
 
Creating Mobile Aps without Coding
Creating Mobile Aps without CodingCreating Mobile Aps without Coding
Creating Mobile Aps without Coding
 
Mehrdad Roushan Afshar - Resume
Mehrdad Roushan Afshar - ResumeMehrdad Roushan Afshar - Resume
Mehrdad Roushan Afshar - Resume
 
Enhance model driven embedded canvas app here is all that you need to know!
Enhance model driven embedded canvas app  here is all that you need to know!Enhance model driven embedded canvas app  here is all that you need to know!
Enhance model driven embedded canvas app here is all that you need to know!
 
How the BBC Make Web sites
How the BBC Make Web sitesHow the BBC Make Web sites
How the BBC Make Web sites
 
How we make websites (IWMW2009)
How we make websites (IWMW2009)How we make websites (IWMW2009)
How we make websites (IWMW2009)
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
Web Components and PWA
Web Components and PWAWeb Components and PWA
Web Components and PWA
 
ReactJS with WordPress Headless Approach
ReactJS with WordPress Headless ApproachReactJS with WordPress Headless Approach
ReactJS with WordPress Headless Approach
 
Sushree_Saumya
Sushree_SaumyaSushree_Saumya
Sushree_Saumya
 
IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for I...
IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for I...IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for I...
IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for I...
 
InternShip performed tasks
InternShip performed tasksInternShip performed tasks
InternShip performed tasks
 
Bring Your Legacy Applications to the Mobile World - DOAG 2014
Bring Your Legacy Applications to the Mobile World - DOAG 2014Bring Your Legacy Applications to the Mobile World - DOAG 2014
Bring Your Legacy Applications to the Mobile World - DOAG 2014
 
Slides chapter 16
Slides chapter 16Slides chapter 16
Slides chapter 16
 

Recently uploaded

Recently uploaded (20)

WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...
WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...
WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...
 
WSO2Con2024 - Organization Management: The Revolution in B2B CIAM
WSO2Con2024 - Organization Management: The Revolution in B2B CIAMWSO2Con2024 - Organization Management: The Revolution in B2B CIAM
WSO2Con2024 - Organization Management: The Revolution in B2B CIAM
 
Evolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI EraEvolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI Era
 
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
WSO2Con2024 - Low-Code Integration Tooling
WSO2Con2024 - Low-Code Integration ToolingWSO2Con2024 - Low-Code Integration Tooling
WSO2Con2024 - Low-Code Integration Tooling
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and ApplicationsWSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
 
WSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital BusinessesWSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital Businesses
 
WSO2Con2024 - Unleashing the Financial Potential of 13 Million People
WSO2Con2024 - Unleashing the Financial Potential of 13 Million PeopleWSO2Con2024 - Unleashing the Financial Potential of 13 Million People
WSO2Con2024 - Unleashing the Financial Potential of 13 Million People
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
WSO2Con2024 - Software Delivery in Hybrid Environments
WSO2Con2024 - Software Delivery in Hybrid EnvironmentsWSO2Con2024 - Software Delivery in Hybrid Environments
WSO2Con2024 - Software Delivery in Hybrid Environments
 

Using Wordpress As An Application Platform -- #WCMKE 2014

  • 1. U S I N G W O R D P R E S S A S A N APPLICATION PLATFORM @danpastori 521dimensions.com #wcmke
  • 2. I live in MILWAUKEE 521 Dimensions Live in downtown Milwaukee Co-Founder of 521 Dimensions Coffee by day, beer by night
  • 3. What defines an app? Lead into “Let’s go back in time”
  • 4. We’re in a time machine
  • 5. Trained Professional User (Data Consumer) Data/Content Data/Content 1994 (Static Sites) Basic Websites - Maintained by trained individuals - Static content - Very little user interaction - Users consume data
  • 6. Data/Content Trained Professionals and authors Readers/Commenters Data/Content 2004 (Web 2.0) Blogs/Dynamic Sites - Maintained by a group of trained individuals - Content is more up-to-date/live - Users mainly consume data but can provide data in comments and social interaction
  • 7. 2004 to 2014 (ecommerce) Ecommerce - Have to begin accounting for user mistakes - User interaction increased, more forms, shopping cart etc
  • 8. 2004 to 2014 (App Frameworks) Application Platforms - Prevents developers from repeating tasks - Accounts for common app entities and processes - Provides some security
  • 10. Developers/Admins Users Not creating data My Web App User contributed data (majority) Apps - Roles switch from trained admins to un-trained users - Have to account for no one understanding your app - Large emphasis on security - Dynamic screen data
  • 11. Developers/Admins PERMISSIONS My Web App Apps - Users are not just site managers - Privacy policies - Permission levels
  • 12. Developers/Admins DATA SHARING My Web App Apps - Large amounts of data - Have to define who sees what and who has permissions to perform what functions.
  • 13. I don’t have to worry about creating data!? THIS IS GOING TO BE EASY!
  • 14. WRONG! - You may not have to create data, but you have to account for bad data - Deal with large quantities of data, speed of display, and unknowns - Users WILL enter bad data, have to cleanse
  • 16. -State of the Word explained that WP can be used to build apps.
  • 17. We can be an app platform! - State of the Word showed an example of an application written on Wordpress. - Totally possible, just have to think differently about Wordpress’ features.
  • 18. Plugins vs app Plugins: -Solve small problems, remain inside the core functionality and use case of Wordpress. ! Apps: -Stray away from Wordpress core use cases -Uses Wordpress in a more modular fashion -Opens up normally administrative functions to general users
  • 20. YOU BETCHA! -This is Musi(q)’s database, Musi(q) is build off of Wordpress
  • 21. What do I need to know to develop wordpress APPs? - Strong understanding of PHP, JS, CSS and how they work together - Strong understanding of WP Dev - Attention to detail - Understanding of how applications are created and function.
  • 22. When not to use wordpress for apps
  • 23. Complex permissions - You can extend and create roles and permissions within WP, but complex scenarios and groups become a burden.
  • 24. large, large amounts of data - You can create your own tables within the Wordpress install, but there comes a point where you have to scale, or use a non-relational database.
  • 25. Features that make Wordpress AWESOME for Apps
  • 26. MULTISITE -Manage API, Marketing Site, App all in one place -Plugins make it modular. You can separate functionality across sites.
  • 27. Custom post Types - Custom post types allow the developer essentially extend an object to make an app. - WPDB object works with custom post types already - Very customizable and easy to filter and work with the default template system.
  • 28. Custom taxonomies -Allows for easy searching/sorting -Works with Custom Post Types -Works with Template system -Allows you to run simple filters without much SQL knowledge
  • 29. Extend and create users -Ability to make custom users and permission hierarchy -add_role( $role, $display_name, $capabilities ); -Can block Wordpress admin per user, they won’t even know it’s built on Wordpress
  • 30. Awesome templating system - Templates/Themes and Plugins work together almost in a MVC type theory - When using custom post types to handle app objects, and with the Wordpress defined templates/themes, you can almost think your app has an ORM
  • 31. Creating apis - Apps have other sources of data creation (plugins, iOS/Android apps, etc.) - Create a sub-site and activate your API handler plugin. - Can create an API theme that shows instructions if not making API calls. - On init, check for key, if key then handle by API plugin and export JSON. - DANGER: Lots of authentication checks need to take place.
  • 32. Demo